package com.wetao.lib_common.bean.response;

import com.google.gson.Gson;
import com.wetao.lib_common.base.Base2Response;

import java.io.Serializable;
import java.util.List;

/**
 * author: zhouyh
 * created on: 2021/6/21 4:15 下午
 * description: 错题详情数据
 */
public class WrongQuestionInfo extends Base2Response implements Serializable {


    /**
     * data : {"id":23542,"studentId":2297,"questionId":197693,"questionContent":"{\"explain\":{\"value\":\"<p style=\\\"text-indent:2.0em;line-height:1.2208333;\\\">∵(S∩T)⊆S,∴S∪(S∩T)=S.故选B.<\/p>\"},\"question\":\"<p style=\\\"line-height:1.2208333;\\\">设S,T是两个非空集合,且它们互相不包含,则S∪(S∩T)等于(  ).<\/p>\",\"options\":[{\"value\":\"S∩T \"},{\"value\":\"S \"},{\"value\":\"⌀ \"},{\"value\":\"T\"}],\"answers\":[\"B\"]}","answerType":1,"answerContent":"C","subjectId":15,"sourceFrom":null,"createTime":"2021-02-25 11:06:45","updateTime":"2021-02-25 11:06:45","screenId":null,"screenContent":null,"screenType":null,"listeningUrl":null,"listeningContent":null,"isSingle":1,"questionContentVo":{"index":1,"question":"<p style=\"line-height:1.2208333;\">设S,T是两个非空集合,且它们互相不包含,则S∪(S∩T)等于(  ).<\/p>","explain":"<p style=\"text-indent:2.0em;line-height:1.2208333;\">∵(S∩T)⊆S,∴S∪(S∩T)=S.故选B.<\/p>","answers":["B"],"options":["S∩T ","S ","⌀ ","T"],"optionCount":4,"picUrl":null},"questionUrl":null,"questionTypeId":2001,"screenQuestionList":null,"scored":0,"fullScore":4,"wrongSource":"数学人A必1固学案---2/3","doodle":null,"masteryLevel":null,"explainList":[]}
     */

    private Data data;

    public static WrongQuestionInfo objectFromData(String str) {

        return new Gson().fromJson(str, WrongQuestionInfo.class);
    }

    public Data getData() {
        return data;
    }

    public static class Data implements Serializable {
        /**
         * id : 23542
         * studentId : 2297
         * studentExamAnswerId: 2012
         * sortNo: 1
         * questionId : 197693
         * questionContent : {"explain":{"value":"<p style=\"text-indent:2.0em;line-height:1.2208333;\">∵(S∩T)⊆S,∴S∪(S∩T)=S.故选B.</p>"},"question":"<p style=\"line-height:1.2208333;\">设S,T是两个非空集合,且它们互相不包含,则S∪(S∩T)等于(  ).</p>","options":[{"value":"S∩T "},{"value":"S "},{"value":"⌀ "},{"value":"T"}],"answers":["B"]}
         * answerType : 1
         * answerContent : C
         * subjectId : 15
         * sourceFrom : null
         * createTime : 2021-02-25 11:06:45
         * updateTime : 2021-02-25 11:06:45
         * screenId : null
         * screenContent : null
         * screenType : null
         * listeningUrl : null
         * listeningContent : null
         * isSingle : 1   0 场景题  1 单选题
         * questionContentVo : {"index":1,"question":"<p style=\"line-height:1.2208333;\">设S,T是两个非空集合,且它们互相不包含,则S∪(S∩T)等于(  ).<\/p>","explain":"<p style=\"text-indent:2.0em;line-height:1.2208333;\">∵(S∩T)⊆S,∴S∪(S∩T)=S.故选B.<\/p>","answers":["B"],"options":["S∩T ","S ","⌀ ","T"],"optionCount":4,"picUrl":null}
         * questionUrl : null
         * questionTypeId : 2001
         * screenQuestionList : null
         * scored : 0.0
         * fullScore : 4.0
         * wrongSource : 数学人A必1固学案---2/3
         * doodle : null
         * masteryLevel : null
         * explainList : []
         * "studentAnswerId":null,
         * "doodle":null,
         *  voiceComment;
         * Integer voiceCommentDuration;
         * "isUndrestand":null,
         * "isRevision":null,
         * "revisionContent":"http://newpage-dev.oss-cn-hangzhou.aliyuncs.com/2021-07-02/7708_134040_197685_video_1625191406714.mp3,http://newpage-dev.oss-cn-hangzhou.aliyuncs.com/2021-07-02/7708_134040_197685_track_1625191406702.txt",
         * "revisionType":2,
         * "revisionTime":"12652"
         */

        private Integer id;
        private Integer studentExamAnswerId;
        private Integer studentId;
        private Integer questionId;
        private String questionContent;
        private Integer answerType;
        private String answerContent;
        private Integer subjectId;
        private Integer sourceFrom;
        private String createTime;
        private String updateTime;
        private Integer screenId;
        private String screenContent;
        private Integer screenType;
        private String listeningUrl;
        private String listeningContent;
        private Integer isSingle;
        private QuestionContentVoBean questionContentVo;
        private String questionUrl;
        private Integer questionTypeId;
        private List<Data> screenQuestionList;
        private Double scored;
        private Double fullScore;
        private String wrongSource;
        private String doodle;
        private Integer masteryLevel;
        private List<ExplainBean> explainList;
        private Integer studentAnswerId;
        private Integer isUndrestand;
        private String voiceComment;
        private Integer voiceCommentDuration;
        private Integer isRevision;
        private String revisionContent;
        private Integer revisionType;
        private String revisionTime;
        private Integer sortNo;


        public static Data objectFromData(String str) {

            return new Gson().fromJson(str, Data.class);
        }


        public Integer getId() {
            return id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        public Integer getStudentExamAnswerId() {
            return studentExamAnswerId;
        }

        public void setStudentExamAnswerId(Integer studentExamAnswerId) {
            this.studentExamAnswerId = studentExamAnswerId;
        }

        public Integer getStudentId() {
            return studentId;
        }

        public void setStudentId(Integer studentId) {
            this.studentId = studentId;
        }

        public Integer getQuestionId() {
            return questionId;
        }

        public void setQuestionId(Integer questionId) {
            this.questionId = questionId;
        }

        public String getQuestionContent() {
            return questionContent;
        }

        public void setQuestionContent(String questionContent) {
            this.questionContent = questionContent;
        }

        public Integer getAnswerType() {
            return answerType;
        }

        public void setAnswerType(Integer answerType) {
            this.answerType = answerType;
        }

        public String getAnswerContent() {
            return answerContent;
        }

        public void setAnswerContent(String answerContent) {
            this.answerContent = answerContent;
        }

        public Integer getSubjectId() {
            return subjectId;
        }

        public void setSubjectId(Integer subjectId) {
            this.subjectId = subjectId;
        }

        public Integer getSourceFrom() {
            return sourceFrom;
        }

        public void setSourceFrom(Integer sourceFrom) {
            this.sourceFrom = sourceFrom;
        }

        public String getCreateTime() {
            return createTime;
        }

        public void setCreateTime(String createTime) {
            this.createTime = createTime;
        }

        public String getUpdateTime() {
            return updateTime;
        }

        public void setUpdateTime(String updateTime) {
            this.updateTime = updateTime;
        }

        public Integer getScreenId() {
            return screenId;
        }

        public void setScreenId(Integer screenId) {
            this.screenId = screenId;
        }

        public String getScreenContent() {
            return screenContent;
        }

        public void setScreenContent(String screenContent) {
            this.screenContent = screenContent;
        }

        public Integer getScreenType() {
            return screenType;
        }

        public void setScreenType(Integer screenType) {
            this.screenType = screenType;
        }

        public String getListeningUrl() {
            return listeningUrl;
        }

        public void setListeningUrl(String listeningUrl) {
            this.listeningUrl = listeningUrl;
        }

        public String getListeningContent() {
            return listeningContent;
        }

        public void setListeningContent(String listeningContent) {
            this.listeningContent = listeningContent;
        }

        public Integer getIsSingle() {
            return isSingle;
        }

        public void setIsSingle(Integer isSingle) {
            this.isSingle = isSingle;
        }

        public QuestionContentVoBean getQuestionContentVo() {
            return questionContentVo;
        }

        public void setQuestionContentVo(QuestionContentVoBean questionContentVo) {
            this.questionContentVo = questionContentVo;
        }

        public String getQuestionUrl() {
            return questionUrl;
        }

        public void setQuestionUrl(String questionUrl) {
            this.questionUrl = questionUrl;
        }

        public Integer getQuestionTypeId() {
            return questionTypeId;
        }

        public void setQuestionTypeId(Integer questionTypeId) {
            this.questionTypeId = questionTypeId;
        }

        public List<Data> getScreenQuestionList() {
            return screenQuestionList;
        }

        public void setScreenQuestionList(List<Data> screenQuestionList) {
            this.screenQuestionList = screenQuestionList;
        }

        public Double getScored() {
            return scored;
        }

        public void setScored(Double scored) {
            this.scored = scored;
        }

        public Double getFullScore() {
            return fullScore;
        }

        public void setFullScore(Double fullScore) {
            this.fullScore = fullScore;
        }

        public String getWrongSource() {
            return wrongSource;
        }

        public void setWrongSource(String wrongSource) {
            this.wrongSource = wrongSource;
        }

        public String getDoodle() {
            return doodle;
        }

        public void setDoodle(String doodle) {
            this.doodle = doodle;
        }

        public Integer getMasteryLevel() {
            return masteryLevel;
        }

        public void setMasteryLevel(Integer masteryLevel) {
            this.masteryLevel = masteryLevel;
        }

        public List<ExplainBean> getExplainList() {
            return explainList;
        }

        public void setExplainList(List<ExplainBean> explainList) {
            this.explainList = explainList;
        }

        public Integer getStudentAnswerId() {
            return studentAnswerId;
        }

        public void setStudentAnswerId(Integer studentAnswerId) {
            this.studentAnswerId = studentAnswerId;
        }

        public Integer getIsUndrestand() {
            return isUndrestand;
        }

        public void setIsUndrestand(Integer isUndrestand) {
            this.isUndrestand = isUndrestand;
        }

        public Integer getIsRevision() {
            return isRevision;
        }

        public void setIsRevision(Integer isRevision) {
            this.isRevision = isRevision;
        }

        public String getRevisionContent() {
            return revisionContent;
        }

        public void setRevisionContent(String revisionContent) {
            this.revisionContent = revisionContent;
        }

        public Integer getRevisionType() {
            return revisionType;
        }

        public void setRevisionType(Integer revisionType) {
            this.revisionType = revisionType;
        }

        public String getRevisionTime() {
            return revisionTime;
        }

        public void setRevisionTime(String revisionTime) {
            this.revisionTime = revisionTime;
        }

        public Integer getSortNo() {
            return sortNo;
        }

        public void setSortNo(Integer sortNo) {
            this.sortNo = sortNo;
        }

        public String getVoiceComment() {
            return voiceComment;
        }

        public void setVoiceComment(String voiceComment) {
            this.voiceComment = voiceComment;
        }

        public Integer getVoiceCommentDuration() {
            return voiceCommentDuration;
        }

        public void setVoiceCommentDuration(Integer voiceCommentDuration) {
            this.voiceCommentDuration = voiceCommentDuration;
        }

        public static class QuestionContentVoBean implements Serializable {
            /**
             * index : 1
             * question : <p style="line-height:1.2208333;">设S,T是两个非空集合,且它们互相不包含,则S∪(S∩T)等于(  ).</p>
             * explain : <p style="text-indent:2.0em;line-height:1.2208333;">∵(S∩T)⊆S,∴S∪(S∩T)=S.故选B.</p>
             * answers : ["B"]
             * options : ["S∩T ","S ","⌀ ","T"]
             * optionCount : 4
             * picUrl : null
             */

            private Integer index;
            private String question;
            private String explain;
            private Integer optionCount;
            private Object picUrl;
            private List<String> answers;
            private List<String> options;

            public static QuestionContentVoBean objectFromData(String str) {

                return new Gson().fromJson(str, QuestionContentVoBean.class);
            }

            public Integer getIndex() {
                return index;
            }

            public void setIndex(Integer index) {
                this.index = index;
            }

            public String getQuestion() {
                return question;
            }

            public void setQuestion(String question) {
                this.question = question;
            }

            public String getExplain() {
                return explain;
            }

            public void setExplain(String explain) {
                this.explain = explain;
            }

            public Integer getOptionCount() {
                return optionCount;
            }

            public void setOptionCount(Integer optionCount) {
                this.optionCount = optionCount;
            }

            public Object getPicUrl() {
                return picUrl;
            }

            public void setPicUrl(Object picUrl) {
                this.picUrl = picUrl;
            }

            public List<String> getAnswers() {
                return answers;
            }

            public void setAnswers(List<String> answers) {
                this.answers = answers;
            }

            public List<String> getOptions() {
                return options;
            }

            public void setOptions(List<String> options) {
                this.options = options;
            }


        }
    }
}
